ποΈGitΠ―ΡΠ°ποΈ
docs/ht-rHT/user/translate.md bc5cf83df7fd6b405ffc521d7c3ed4e1f3e8271a (bc5cf83d) Text, 4.59 KB
---
title: Translate the App
parent: User Guide
nav_order: 17
last_updated: 2026-06-25
description: How the app and its documentation are translated via Crowdin, and guidelines for contributing translations.
aliases:
Tff7b72- translate
Tff7b72- crowdin
Tc9d1d9 - localization
Tc9d1d9---
Tc9d1d9# Translate the App
Contributing translations helps make Meshtastic accessible to a wider audience. The app uses [Tff7b72Crowdin](Te6edf3https://crowdin.com/) to manage community translations for both the user interface and in-app documentation.
---
Tc9d1d9## What Gets Translated
| Resource | Source Location | Notes |
| ----------------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| UI strings | Ta5d6ff`core/resources/src/commonMain/composeResources/values/strings.xml` | Buttons, labels, messages, and all user-visible text |
| User Guide pages | Ta5d6ff`docs/en/user/*.md` | In-app documentation shown in Help & Documentation |
| Fastlane metadata | Ta5d6ff`fastlane/metadata/android/en-US/` | App Store listing title, description, and changelogs |
Tff7b72> β οΈ **Note:** Developer Guide pages are English-only. Code-focused documentation targeting contributors is not translated.
---
Tc9d1d9## How to Contribute
Tff7b721. **Visit the Crowdin project.** Open the [Tff7b72Meshtastic Android Crowdin project](Te6edf3https://crowdin.com/project/meshtastic-android) and sign in or create a free account.
Tff7b722. **Choose your language.** Select an existing language or request a new one by opening a [Tff7b72GitHub issue](Te6edf3https://github.com/meshtastic/Meshtastic-Android/issues/new).
Tff7b723. **Translate strings.** Crowdin shows the English source on the left and your translation on the right. Translate each string and save.
Tff7b724. **Review context.** Many strings include screenshots or context comments β check these to understand where the text appears in the app.
Tff7b725. **Submit.** Approved translations are automatically merged into the next release.
Tff7b72> π‘ **Tip:** Keep translations short. UI strings often appear in buttons, chips, or narrow columns. If a translation is significantly longer than the English original, consider abbreviating where the meaning stays clear.
---
Tc9d1d9## Adding a New Language
If your language is not yet listed on Crowdin:
Tff7b721. Open an issue on [Tff7b72GitHub](Te6edf3https://github.com/meshtastic/Meshtastic-Android/issues/new) requesting the new locale.
Tff7b722. A maintainer will add the language to Crowdin and configure Ta5d6ff`crowdin.yml`.
Tff7b723. Once added, you can begin translating immediately.
---
Tc9d1d9## How Translations Are Organized
The Android app uses **Compose Multiplatform resources** for all user-visible strings:
Ta5d6ff```
core/resources/src/commonMain/composeResources/
βββ values/ β English (default)
β βββ strings.xml
βββ values-de/ β German
β βββ strings.xml
βββ values-fr/ β French
β βββ strings.xml
βββ ...
```
In-app documentation follows a similar pattern under Ta5d6ff`docs/`:
Ta5d6ff```
docs/
βββ en/user/ β English source (default)
β βββ onboarding.md
β βββ ...
βββ fr-rFR/user/ β French (France)
β βββ onboarding.md
β βββ ...
βββ de-rDE/user/ β German (Germany)
β βββ ...
βββ ...
```
Locale folders use the Android resource convention Ta5d6ff`{lang}-r{REGION}` (e.g. Ta5d6ff`fr-rFR`, Ta5d6ff`de-rDE`, Ta5d6ff`ja-rJP`), matching the Ta5d6ff`values-*` directories used for app strings.
The app automatically selects the correct locale based on your device's **Language & Region** settings.
---
Tc9d1d9## Translation Guidelines
Tff7b72- **Do not translate** technical terms like "LoRa", "MQTT", "BLE", "TAK", "SNR", or "RSSI" β these are universal.
Tff7b72- **Keep placeholders intact.** Strings like Ta5d6ff`%1$s` or Ta5d6ff`%d` are filled in at runtime. Do not remove or reorder them unless the grammar of your language requires it.
Tff7b72- **Match tone.** The app uses a friendly, direct voice. Avoid overly formal language.
Tff7b72- **Test if possible.** Switch your device language and open the app to see how translations look in context.
---
Tc9d1d9## Questions?
If you have questions about a specific string's context or need help getting started, open a discussion on the [Tff7b72Meshtastic GitHub Discussions](Te6edf3https://github.com/orgs/meshtastic/discussions) page.
Thank you for helping expand the reach of Meshtastic!
Served by rngit 1.5.2 - Generated in 0.08s